package temp;
/*存在bug 前缀重复*/
import java.util.Arrays;

/*3、编写一个方法，将字符串中的空格全部替换为“%20”。假定该字符串有足够的
空间存放新增的字符，并且知道字符串的真实长度  (小于等于1000)，同时保证字符
串由大小写的英文字母组成。*/
public class test3 {
    public String replaceSpace(String iniString, int length) {
        char[] str = iniString.toCharArray();
        length=str.length;//确定长度则不需要

        //找出空格数
        int space = 0;
        for (int i = 0; i < length; i++) {
            if (str[i] == ' ') {
                space++;
            }
        }

        int length1 = length + space * 2;
        //复制字符数组
        char[] str1 = new char[length1];
        for (int i = 0; i < length; i++) {
            str1[i] = str[i];
        }
        //替换空格
        for(int i=length-1;i>=0;i--){
            if (str1[i] == ' ') {
                str1[length1-3] = '%';
                str1[length1-2] = '2';
                str1[length1-1] = '0';
                length1-=3;
            } else{
                str1[length1-1]=str[i];
                length1--;
            }
        }
        //用Arrays类将字符数组转字符串
        String iniString1 = Arrays.toString(str1);

        return iniString1;
    }

}
